package com.ruoyi.agriculture.zs.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.agriculture.zs.mapper.ZsQuestionMapper;
import com.ruoyi.agriculture.zs.domain.ZsQuestion;
import com.ruoyi.agriculture.zs.service.IZsQuestionService;

/**
 * 问答Service业务层处理
 *
 * @author zs
 * @date 2025-07-27
 */
@Service
public class ZsQuestionServiceImpl implements IZsQuestionService
{
    @Autowired
    private ZsQuestionMapper zsQuestionMapper;

    /**
     * 查询问答
     *
     * @param zsQuestionId 问答主键
     * @return 问答
     */
    @Override
    public ZsQuestion selectZsQuestionByZsQuestionId(Long zsQuestionId)
    {
        return zsQuestionMapper.selectZsQuestionByZsQuestionId(zsQuestionId);
    }

    /**
     * 查询问答列表
     *
     * @param zsQuestion 问答
     * @return 问答
     */
    @Override
    public List<ZsQuestion> selectZsQuestionList(ZsQuestion zsQuestion)
    {
        return zsQuestionMapper.selectZsQuestionList(zsQuestion);
    }

    /**
     * 新增问答
     *
     * @param zsQuestion 问答
     * @return 结果
     */
    @Override
    public int insertZsQuestion(ZsQuestion zsQuestion)
    {
        zsQuestion.setUserId(SecurityUtils.getUserId());
        zsQuestion.setUserName(SecurityUtils.getUsername());
        zsQuestion.setCreateTime(DateUtils.getNowDate());
        return zsQuestionMapper.insertZsQuestion(zsQuestion);
    }

    /**
     * 修改问答
     *
     * @param zsQuestion 问答
     * @return 结果
     */
    @Override
    public int updateZsQuestion(ZsQuestion zsQuestion)
    {
        zsQuestion.setUpdateTime(DateUtils.getNowDate());
        return zsQuestionMapper.updateZsQuestion(zsQuestion);
    }

    /**
     * 批量删除问答
     *
     * @param zsQuestionIds 需要删除的问答主键
     * @return 结果
     */
    @Override
    public int deleteZsQuestionByZsQuestionIds(Long[] zsQuestionIds)
    {
        return zsQuestionMapper.deleteZsQuestionByZsQuestionIds(zsQuestionIds);
    }

    /**
     * 删除问答信息
     *
     * @param zsQuestionId 问答主键
     * @return 结果
     */
    @Override
    public int deleteZsQuestionByZsQuestionId(Long zsQuestionId)
    {
        return zsQuestionMapper.deleteZsQuestionByZsQuestionId(zsQuestionId);
    }
}
